home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / etc / init.d / sshd < prev    next >
Text File  |  2006-05-08  |  2KB  |  70 lines

  1. #!/sbin/runscript
  2. # Copyright 1999-2006 Gentoo Foundation
  3. # Distributed under the terms of the GNU General Public License v2
  4. # $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6,v 1.19 2006/02/28 00:09:52 vapier Exp $
  5.  
  6. opts="reload"
  7.  
  8. depend() {
  9.     use logger dns
  10.     need net
  11. }
  12.  
  13. SSHD_CONFDIR=${SSHD_CONFDIR:-/etc/ssh}
  14.  
  15. checkconfig() {
  16.     if [[ ! -d /var/empty ]] ; then
  17.         mkdir -p /var/empty || return 1
  18.     fi
  19.  
  20.     if [[ ! -e ${SSHD_CONFDIR}/sshd_config ]] ; then
  21.         eerror "You need an ${SSHD_CONFDIR}/sshd_config file to run sshd"
  22.         eerror "There is a sample file in  /usr/share/doc/openssh"
  23.         return 1
  24.     fi
  25.  
  26.     gen_keys || return 1
  27.  
  28.     /usr/sbin/sshd -t ${myopts} || return 1
  29. }
  30.  
  31. gen_keys() {
  32.     if [[ ! -e ${SSHD_CONFDIR}/ssh_host_key ]] ; then
  33.         einfo "Generating Hostkey..."
  34.         /usr/bin/ssh-keygen -t rsa1 -b 1024 -f ${SSHD_CONFDIR}/ssh_host_key -N '' || return 1
  35.     fi
  36.     if [[ ! -e ${SSHD_CONFDIR}/ssh_host_dsa_key ]] ; then
  37.         einfo "Generating DSA-Hostkey..."
  38.         /usr/bin/ssh-keygen -d -f ${SSHD_CONFDIR}/ssh_host_dsa_key -N '' || return 1
  39.     fi
  40.     if [[ ! -e ${SSHD_CONFDIR}/ssh_host_rsa_key ]] ; then
  41.         einfo "Generating RSA-Hostkey..."
  42.         /usr/bin/ssh-keygen -t rsa -f ${SSHD_CONFDIR}/ssh_host_rsa_key -N '' || return 1
  43.     fi
  44.     return 0
  45. }
  46.  
  47. start() {
  48.     local myopts=""
  49.     [[ ${SVCNAME} != "sshd" ]] && myopts="${myopts} -o PidFile=/var/run/${SVCNAME}.pid"
  50.     [[ ${SSHD_CONFDIR} != "/etc/ssh" ]] && myopts="${myopts} -f ${SSHD_CONFDIR}/sshd_config"
  51.  
  52.     checkconfig || return 1
  53.     ebegin "Starting ${SVCNAME}"
  54.     /usr/sbin/sshd ${myopts} ${SSHD_OPTS}
  55.     eend $?
  56. }
  57.  
  58. stop() {
  59.     ebegin "Stopping ${SVCNAME}"
  60.     start-stop-daemon --stop --quiet --pidfile /var/run/${SVCNAME}.pid
  61.     eend $?
  62. }
  63.  
  64. reload() {
  65.     ebegin "Reloading ${SVCNAME}"
  66.     start-stop-daemon --stop --quiet --pidfile /var/run/${SVCNAME}.pid \
  67.         --signal HUP
  68.     eend $?
  69. }
  70.